home *** CD-ROM | disk | FTP | other *** search
- ;-> Orologio by Stefano Regattin
- ;d> 9 ottobre 1998 da Clock
- ;m> 10,11,16,17,19,24,29 ottobre 1998
- ;m> 4,6 novembre 1998
- ;m> 13,14,23 dicembre 1998
- ;m> 3 gennaio 1999
- ;m> 9,12 marzo 1999
- ;m> 25,26 settembre 1999
- ;m> 1,2,3,5,6,7,8,9,10,11,22,27,28 febbraio 2000
- ;m> 2,3,4,6,9,10,30,31 marzo 2000
- ;m> 6 aprile 2000
- ;-----------------
- #HaiCambiatoLeDimensioniDellaFinestra=2
- #HaiPremutoUnTastoDelTopo=8
- #HaiRilasciatoUnGadget=$40
- #HaiChiusoLaFinestra=$200
-
- DEFTYPE .l RastPortFinestra
-
- DEFTYPE .b AltezzaFont,AltezzaFontRegistrata
- DEFTYPE .b NumeroToolType,StatoAllarme,ToolTypeScritti
-
- DEFTYPE .w
-
- Statement AggiustaDimensioniFinestraZero{}
- SHARED Angolo$
- SHARED LunXFinestraZero
- SHARED LunXSchermo
- SHARED LunYFinestraZero
- SHARED PosXFinestraZero
- SHARED PosXFinestraZeroAngoloOpposto
- SHARED PosYFinestraZero
- SHARED PosYFinestraZeroAngoloOpposto
- Select Angolo$
- Case "TOP-RIGHT"
- If PosXFinestraZero+(LunXFinestraZero-1)<>PosXFinestraZeroAngoloOpposto
- PosXFinestraZero=PosXFinestraZeroAngoloOpposto-(LunXFinestraZero-1)
- EndIf
- Case "BOTTOM-RIGHT"
- If PosXFinestraZero+(LunXFinestraZero-1)<>PosXFinestraZeroAngoloOpposto
- PosXFinestraZero=PosXFinestraZeroAngoloOpposto-(LunXFinestraZero-1)
- EndIf
-
- If PosYFinestraZero+(LunYFinestraZero-1)<>PosYFinestraZeroAngoloOpposto
- PosYFinestraZero=PosYFinestraZeroAngoloOpposto-(LunYFinestraZero-1)
- EndIf
- Case "BOTTOM-LEFT"
- If PosYFinestraZero+(LunYFinestraZero-1)<>PosYFinestraZeroAngoloOpposto
- PosYFinestraZero=PosYFinestraZeroAngoloOpposto-(LunYFinestraZero-1)
- EndIf
- End Select
- If LunXFinestraZero>LunXSchermo Then LunXFinestraZero=LunXSchermo
- If PosXFinestraZero+LunXFinestraZero-1>LunXSchermo Then PosXFinestraZero=LunXSchermo-LunXFinestraZero
- If PosXFinestraZero<0 Then PosXFinestraZero=0
- If LunYFinestraZero>WBHeight Then LunYFinestraZero=WBHeight
- If PosYFinestraZero+LunYFinestraZero-1>WBHeight Then PosYFinestraZero=WBHeight-LunYFinestraZero
- If PosYFinestraZero<AltezzaFontSchermo+3 Then PosYFinestraZero=AltezzaFontSchermo+3
- End Statement
-
- Statement ApriFinestraZero{}
- SHARED LunXFinestraZero
- SHARED LunYFinestraZero
- SHARED PosXFinestraZero
- SHARED PosYFinestraZero
- SHARED RastPortFinestra
- Window 0,PosXFinestraZero,PosYFinestraZero,LunXFinestraZero,LunYFinestraZero,$140F,"",1,2
- WTitle "Orologio","by Stefano Regattin e-mail>StefanoRegattin@lycosmail.com"
- RastPortFinestra=RastPort(0)
- WindowFont 0
- End Statement
-
- Statement LeggiToolType{}
- SHARED Angolo$
- SHARED AngoloRegistrato$
- SHARED FontOrologio$
- SHARED FontOrologioRegistrato$
- SHARED IconaOrologio$
- SHARED AltezzaFont
- SHARED AltezzaFontRegistrata
- SHARED PosXFinestraZero
- SHARED PosXFinestraZeroRegistrata
- SHARED PosYFinestraZero
- SHARED PosYFinestraZeroRegistrata
- ToolTypeLetti.l=GetIconObject(IconaOrologio$)
- If ToolTypeLetti>0
- NuovoFontOrologio$=FindToolValue("FONTNAME")
- NuovaAltezzaFont$=FindToolValue("FONTSIZE")
- NuovaPosXFinestraZero$=FindToolValue("WINDOWX")
- NuovaPosYFinestraZero$=FindToolValue("WINDOWY")
- NuovoAngolo$=FindToolValue("ANGLE")
-
- If NuovoFontOrologio$<>""
- FontOrologioRegistrato$=NuovoFontOrologio$
- FontOrologio$=NuovoFontOrologio$
- EndIf
-
- If NuovaAltezzaFont$<>""
- AltezzaFontRegistrata=Val(NuovaAltezzaFont$)
- AltezzaFont=Val(NuovaAltezzaFont$)
- EndIf
-
- If NuovaPosXFinestraZero$<>""
- PosXFinestraZeroRegistrata=Val(NuovaPosXFinestraZero$)
- PosXFinestraZero=Val(NuovaPosXFinestraZero$)
- EndIf
-
- If NuovaPosYFinestraZero$<>""
- PosYFinestraZeroRegistrata=Val(NuovaPosYFinestraZero$)
- PosYFinestraZero=Val(NuovaPosYFinestraZero$)
- EndIf
-
- If NuovoAngolo$<>""
- Angolo$=NuovoAngolo$
- AngoloRegistrato$=NuovoAngolo$
- EndIf
-
- FreeIconObject
-
- EndIf
- End Statement
-
- Statement ScriviToolType{}
- SHARED Angolo$
- SHARED AngoloRegistrato$
- SHARED FontOrologio$
- SHARED FontOrologioRegistrato$
- SHARED IconaOrologio$
- SHARED AltezzaFont
- SHARED AltezzaFontRegistrata
- SHARED PosXFinestraZero
- SHARED PosXFinestraZeroAngoloOpposto
- SHARED PosXFinestraZeroRegistrata
- SHARED PosYFinestraZero
- SHARED PosYFinestraZeroAngoloOpposto
- SHARED PosYFinestraZeroRegistrata
- SHARED ToolTypeScritti
- ToolTypeLetti.l=GetIconObject(IconaOrologio$)
- If ToolTypeLetti>0
- If FindToolType("DONOTWAIT")=False Then NewToolType "DONOTWAIT",""
-
- If FindToolType("FONTNAME")=True
- SetToolValue "FONTNAME",FontOrologio$
- Else
- NewToolType "FONTNAME",FontOrologio$
- EndIf
-
- If FindToolType("FONTSIZE")=True
- SetToolValue "FONTSIZE",Str$(AltezzaFont)
- Else
- NewToolType "FONTSIZE",Str$(AltezzaFont)
- EndIf
-
- Select Angolo$
- Case "TOP-LEFT"
- If FindToolType("WINDOWX")=True
- SetToolValue "WINDOWX",Str$(PosXFinestraZero)
- Else
- NewToolType "WINDOWX",Str$(PosXFinestraZero)
- EndIf
-
- If FindToolType("WINDOWY")=True
- SetToolValue "WINDOWY",Str$(PosYFinestraZero)
- Else
- NewToolType "WINDOWY",Str$(PosYFinestraZero)
- EndIf
- Case "TOP-RIGHT"
- If FindToolType("WINDOWX")=True
- SetToolValue "WINDOWX",Str$(PosXFinestraZeroAngoloOpposto)
- Else
- NewToolType "WINDOWX",Str$(PosXFinestraZeroAngoloOpposto)
- EndIf
-
- If FindToolType("WINDOWY")=True
- SetToolValue "WINDOWY",Str$(PosYFinestraZero)
- Else
- NewToolType "WINDOWY",Str$(PosYFinestraZero)
- EndIf
- Case "BOTTOM-RIGHT"
- If FindToolType("WINDOWX")=True
- SetToolValue "WINDOWX",Str$(PosXFinestraZeroAngoloOpposto)
- Else
- NewToolType "WINDOWX",Str$(PosXFinestraZeroAngoloOpposto)
- EndIf
-
- If FindToolType("WINDOWY")=True
- SetToolValue "WINDOWY",Str$(PosYFinestraZeroAngoloOpposto)
- Else
- NewToolType "WINDOWY",Str$(PosYFinestraZeroAngoloOpposto)
- EndIf
- Case "BOTTOM-LEFT"
- If FindToolType("WINDOWX")=True
- SetToolValue "WINDOWX",Str$(PosXFinestraZero)
- Else
- NewToolType "WINDOWX",Str$(PosXFinestraZero)
- EndIf
-
- If FindToolType("WINDOWY")=True
- SetToolValue "WINDOWY",Str$(PosYFinestraZeroAngoloOpposto)
- Else
- NewToolType "WINDOWY",Str$(PosYFinestraZeroAngoloOpposto)
- EndIf
- End Select
-
- If FindToolType("ANGLE")=True
- SetToolValue "ANGLE",Angolo$
- Else
- NewToolType "ANGLE",Angolo$
- EndIf
-
- ToolTypeScritti=PutIconObject(IconaOrologio$)
- If ToolTypeScritti=True
- FontOrologioRegistrato$=FontOrologio$
- AltezzaFontRegistrata=AltezzaFont
- AngoloRegistrato$=Angolo$
- Select Angolo$
- Case "TOP-LEFT"
- PosXFinestraZeroRegistrata=PosXFinestraZero
- PosYFinestraZeroRegistrata=PosYFinestraZero
- Case "TOP-RIGHT"
- PosXFinestraZeroRegistrata=PosXFinestraZeroAngoloOpposto
- PosYFinestraZeroRegistrata=PosYFinestraZero
- Case "BOTTOM-RIGHT"
- PosXFinestraZeroRegistrata=PosXFinestraZeroAngoloOpposto
- PosYFinestraZeroRegistrata=PosYFinestraZeroAngoloOpposto
- Case "BOTTOM-LEFT"
- PosXFinestraZeroRegistrata=PosXFinestraZeroAngolo
- PosYFinestraZeroRegistrata=PosYFinestraZeroAngoloOpposto
- End Select
- EndIf
-
- FreeIconObject
-
- EndIf
- End Statement
-
- Statement CercaFont{}
- SHARED FontOrologio$
- SHARED AltezzaFont
- NEWTYPE .FontInfo
- Nome$
- Altezza.w
- Stile.b
- Segnalatori
- PennaUno
- PennaDue
- ModoDisegno
- Pad
- End NEWTYPE
-
- *Font.FontInfo=ASLFontRequest(0)
-
- If *Font<>0
- FontOrologio$=*Font\Nome
- AltezzaFont=*Font\Altezza
- EndIf
- End Statement
-
- Statement Impostazioni{}
- SHARED Angolo$
- SHARED AngoloRegistrato$
- SHARED OraAllarme$
- SHARED OraDiOggi$
- SHARED FontOrologio$
- SHARED FontOrologioRegistrato$
- SHARED AltezzaFont
- SHARED AltezzaFontRegistrata
- SHARED LunXFinestraZero
- SHARED LunYFinestraZero
- SHARED LunXSchermo
- SHARED PosXFinestraZero
- SHARED PosXFinestraZeroAngoloOpposto
- SHARED PosXFinestraZeroRegistrata
- SHARED PosYFinestraZero
- SHARED PosYFinestraZeroAngoloOpposto
- SHARED PosYFinestraZeroRegistrata
- SHARED StatoAllarme
- SHARED ToolTypeScritti
- Dim Freccia(5)
- BitMap 0,32,16,2
- Freccia(0)=0:Freccia(1)=0
- Freccia(2)=7:Freccia(3)=0
- Freccia(4)=0:Freccia(5)=7
- Polyf 3,&Freccia(0),1
- GetaShape 0,0,0,8,8
- XFlip 0
- Blit 0,8,0
- GetaShape 0,0,0,8,8
- GetaShape 1,8,0,8,8
- YFlip 1
- Blit 1,16,0
- GetaShape 1,8,0,8,8
- GetaShape 2,16,0,8,8
- XFlip 2
- Blit 2,24,0
- GetaShape 2,16,0,8,8
- GetaShape 3,24,0,8,8
- Freccia(0)=0:Freccia(1)=8
- Freccia(2)=7:Freccia(3)=8
- Freccia(4)=0:Freccia(5)=15
- Polyf 3,&Freccia(0),2
- GetaShape 4,0,8,8,8
- XFlip 4
- Blit 4,8,8
- GetaShape 4,0,8,8,8
- GetaShape 5,8,8,8,8
- YFlip 5
- Blit 5,16,8
- GetaShape 5,8,8,8,8
- GetaShape 6,16,8,8,8
- XFlip 6
- Blit 6,24,8
- GetaShape 6,16,8,8,8
- GetaShape 7,24,8,8,8
-
- Free BitMap 0
-
- Use IntuiFont 1
- StringGadget 0, 1, 1, 0, 0,6,6*8
- StringGadget 0, 1,14, 0, 1,25,106
- StringGadget 0, 75, 1, 0, 2,4,4*8
- StringGadget 0, 9,27, 0, 3,5,5*8
- StringGadget 0, 67,27, 0, 4,5,5*8
- StringGadget 0, 9,62, 0, 5,5,5*8
- StringGadget 0, 67,62, 0, 6,5,5*8
- ShapeGadget 0, 94,43,512, 7,0,4
- ShapeGadget 0,103,43,512, 8,1,5
- ShapeGadget 0,103,51,512, 9,2,6
- ShapeGadget 0, 94,51,512,10,3,7
- TextGadget 0, 58, 1, 1,11,"A"
- TextGadget 0, 1,75, 1,12,"*** Salva ***"
-
- PosXFinestraZero=WindowX-WLeftOff
- PosYFinestraZero=WindowY-WTopOff
- PosXFinestraZeroAngoloOpposto=PosXFinestraZero+(LunXFinestraZero-1)
- PosYFinestraZeroAngoloOpposto=PosYFinestraZero+(LunYFinestraZero-1)
-
- PosXFinestraUno=WindowX
- PosYFinestraUno=WindowY
- LunXFinestraUno=124
- LunYFinestraUno=WTopOff+93
-
- If PosXFinestraUno+LunXFinestraUno>LunXSchermo Then PosXFinestraUno=LunXSchermo-LunXFinestraUno
- If PosYFinestraUno+LunYFinestraUno>WBHeight Then PosYFinestraUno=WBHeight-LunYFinestraUno
-
- Window 1,PosXFinestraUno,PosYFinestraUno,LunXFinestraUno,LunYFinestraUno,$140E,"",1,2,0
- WTitle "Impostazioni","Imposta le variabili dell'orologio"
- WindowFont 1
-
- Select Angolo$
- Case "TOP-LEFT"
- Enable 0,3
- Enable 0,4
- Disable 0,5
- Disable 0,6
- Toggle 0,7,On
- Redraw 1,7
- Case "TOP-RIGHT"
- Enable 0,3
- Disable 0,4
- Disable 0,5
- Enable 0,6
- Toggle 0,8,On
- Redraw 1,8
- Case "BOTTOM-RIGHT"
- Disable 0,3
- Disable 0,4
- Enable 0,5
- Enable 0,6
- Toggle 0,9,On
- Redraw 1,9
- Case "BOTTOM-LEFT"
- Disable 0,3
- Enable 0,4
- Enable 0,5
- Disable 0,6
- Toggle 0,10,On
- Redraw 1,10
- End Select
-
- Redraw 1,3
- Redraw 1,4
- Redraw 1,5
- Redraw 1,6
-
- GadgetBorder 94,42,17,17
-
- WLocate 0,29:Print "X"
- WLocate 58,29:Print "Y"
- WLocate 1,43:Print"Angolo"
- WLocate 42,52:Print"fisso>"
- WLocate 0,64:Print "X"
- WLocate 58,64:Print "Y"
-
- If OraAllarme$="" Then OraAllarme$=UnLeft$(OraDiOggi$,3)
-
- Repeat
- SetString 0,0,OraAllarme$
- Redraw 1,0
- SetString 0,1,FontOrologio$
- Redraw 1,1
- SetString 0,2,Str$(AltezzaFont)
- Redraw 1,2
- SetString 0,3,Str$(PosXFinestraZero)
- Redraw 1,3
- SetString 0,4,Str$(PosYFinestraZero)
- Redraw 1,4
- SetString 0,5,Str$(PosXFinestraZeroAngoloOpposto)
- Redraw 1,5
- SetString 0,6,Str$(PosYFinestraZeroAngoloOpposto)
- Redraw 1,6
-
- ValoriCambiati.b=False
- If FontOrologio$<>FontOrologioRegistrato$ Then ValoriCambiati=True
- If AltezzaFont<>AltezzaFontRegistrata Then ValoriCambiati=True
- Select Angolo$
- Case "TOP-LEFT"
- If PosXFinestraZero<>PosXFinestraZeroRegistrata Then ValoriCambiati=True
- If PosYFinestraZero<>PosYFinestraZeroRegistrata Then ValoriCambiati=True
- Case "TOP-RIGHT"
- If PosXFinestraZero+(LunXFinestraZero-1)<>PosXFinestraZeroRegistrata Then ValoriCambiati=True
- If PosYFinestraZero<>PosYFinestraZeroRegistrata Then ValoriCambiati=True
- Case "BOTTOM-RIGHT"
- If PosXFinestraZero+(LunXFinestraZero-1)<>PosXFinestraZeroRegistrata Then ValoriCambiati=True
- If PosYFinestraZero+(LunYFinestraZero-1)<>PosYFinestraZeroRegistrata Then ValoriCambiati=True
- Case "BOTTOM-LEFT"
- If PosXFinestraZero<>PosXFinestraZeroRegistrata Then ValoriCambiati=True
- If PosYFinestraZero+(LunYFinestraZero-1)<>PosYFinestraZeroRegistrata Then ValoriCambiati=True
- End Select
- If Angolo$<>AngoloRegistrato$ Then ValoriCambiati=True
- If ValoriCambiati=True Then Enable 0,12 Else Toggle 0,12,Off:Disable 0,12
- Redraw 1,12
-
- EventoFinestraUno.l=WaitEvent
-
- Select EventoFinestraUno
- Case #HaiRilasciatoUnGadget
- If GadgetHit<7 Then ActivateString 1,GadgetHit
- Select GadgetHit
- Case 0
- OraAllarme$=StringText$(0,0)
- Case 1
- NuovoFontOrologio$=StringText$(0,1)
- If NuovoFontOrologio$="" Then CercaFont{}
- If Right$(NuovoFontOrologio$,5)<>".font" Then NuovoFontOrologio$+".font"
- If Len(NuovoFontOrologio$)>0
- If Exists("FONTS:"+NuovoFontOrologio$)
- FontOrologio$=NuovoFontOrologio$
- EndIf
- EndIf
- Case 2
- AltezzaFont=Val(StringText$(0,2))
- AltezzaFont=Max(AltezzaFont,6)
- Case 3
- PosXFinestraZero=Val(StringText$(0,3))
- Case 4
- PosYFinestraZero=Val(StringText$(0,4))
- Case 5
- PosXFinestraZeroAngoloOpposto=Val(StringText$(0,5))
- Case 6
- PosYFinestraZeroAngoloOpposto=Val(StringText$(0,6))
- Case 7
- If GadgetStatus(0,7)=True Then Angolo$="TOP-LEFT"
- Case 8
- If GadgetStatus(0,8)=True Then Angolo$="TOP-RIGHT"
- Case 9
- If GadgetStatus(0,9)=True Then Angolo$="BOTTOM-RIGHT"
- Case 10
- If GadgetStatus(0,10)=True Then Angolo$="BOTTOM-LEFT"
- Case 11
- StatoAllarme=GadgetStatus(0,11)
- Case 12
- ScriviToolType{}
- If ToolTypeScritti=True
- Toggle 0,12,Off
- Disable 0,12
- Redraw 1,12
- Else
- Toggle 0,12,On
- EndIf
- End Select
-
- Select Angolo$
- Case "TOP-LEFT"
- PosXFinestraZeroAngoloOpposto=PosXFinestraZero+(LunXFinestraZero-1)
- PosYFinestraZeroAngoloOpposto=PosYFinestraZero+(LunYFinestraZero-1)
- Enable 0,3
- Enable 0,4
- Disable 0,5
- Disable 0,6
- Case "TOP-RIGHT"
- PosXFinestraZero=PosXFinestraZeroAngoloOpposto-(LunXFinestraZero-1)
- PosYFinestraZeroAngoloOpposto=PosYFinestraZero+(LunYFinestraZero-1)
- Disable 0,3
- Enable 0,4
- Enable 0,5
- Disable 0,6
- Case "BOTTOM-RIGHT"
- PosXFinestraZero=PosXFinestraZeroAngoloOpposto-(LunXFinestraZero-1)
- PosYFinestraZero=PosYFinestraZeroAngoloOpposto-(LunYFinestraZero-1)
- Disable 0,3
- Disable 0,4
- Enable 0,5
- Enable 0,6
- Case "BOTTOM-LEFT"
- PosXFinestraZeroAngoloOpposto=PosXFinestraZero+(LunXFinestraZero-1)
- PosYFinestraZero=PosYFinestraZeroAngoloOpposto-(LunYFinestraZero-1)
- Enable 0,3
- Disable 0,4
- Disable 0,5
- Enable 0,6
- End Select
-
- End Select
- Until EventoFinestraUno=#HaiChiusoLaFinestra
- CloseWindow 1
- Use Window 0
- End Statement
-
- Statement DataDiOggi{}
- SHARED Allarme$
- SHARED DataDiOggi$
- SHARED LunghezzaDataDiOggi
- SHARED LunghezzaScrittaAllarme
- SHARED RastPortFinestra
- Select WeekDay
- Case 0
- GiornoDellaSettimana$="Dom"
- Case 1
- GiornoDellaSettimana$="Lun"
- Case 2
- GiornoDellaSettimana$="Mar"
- Case 3
- GiornoDellaSettimana$="Mer"
- Case 4
- GiornoDellaSettimana$="Gio"
- Case 5
- GiornoDellaSettimana$="Ven"
- Case 6
- GiornoDellaSettimana$="Sab"
- End Select
- Giorno$=Str$(Days)
- Select Months
- Case 1
- Mese$="gennaio"
- Case 2
- Mese$="febbraio"
- Case 3
- Mese$="marzo"
- Case 4
- Mese$="aprile"
- Case 5
- Mese$="maggio"
- Case 6
- Mese$="giugno"
- Case 7
- Mese$="luglio"
- Case 8
- Mese$="agosto"
- Case 9
- Mese$="settembre"
- Case 10
- Mese$="ottobre"
- Case 11
- Mese$="novembre"
- Case 12
- Mese$="dicembre"
- End Select
- Anno$=Str$(Years)
- DataDiOggi$=" "+GiornoDellaSettimana$+", "+Giorno$+" "+Mese$+" "+Anno$+" "
- LunghezzaDataDiOggi.w=TextLength_(RastPortFinestra,&DataDiOggi$,Len(DataDiOggi$))
- End Statement
-
- WBStartup
-
- WbToScreen 0
-
- IndirizzoSchermo.l=Peek.l(Addr Screen(0))
- LunXSchermo=Peek.w(IndirizzoSchermo+12)
-
- FontOrologio$="Data70.font"
- AltezzaFont=13
-
- AltezzaFontSchermo.b=8
- OpenFontPrefs
- AltezzaFontSchermo.b=DefaultFontHeight(2)
- CloseFontPrefs
-
- IconaOrologio$=ProgPath$+".info"
-
- PosXFinestraZero=0
- PosYFinestraZero=AltezzaFontSchermo+3
- LunXFinestraZero=70
- LunYFinestraZero=30
- Angolo$="TOP-LEFT"
-
- LeggiToolType{}
-
- LoadFont 0,FontOrologio$,AltezzaFont
-
- LoadFont 1,"topaz.font",8
-
- Select Angolo$
- Case "TOP-RIGHT"
- PosXFinestraZeroAngoloOpposto=PosXFinestraZero
- PosXFinestraZero-(LunXFinestraZero-1)
- Case "BOTTOM-RIGHT"
- PosXFinestraZeroAngoloOpposto=PosXFinestraZero
- PosXFinestraZero-(LunXFinestraZero-1)
- PosYFinestraZeroAngoloOpposto=PosYFinestraZero
- PosYFinestraZero-(LunYFinestraZero-1)
- Case "BOTTOM-LEFT"
- PosYFinestraZeroAngoloOpposto=PosYFinestraZero
- PosYFinestraZero-(LunYFinestraZero-1)
- End Select
-
- AggiustaDimensioniFinestraZero{}
-
- ApriFinestraZero{}
-
- DataDiOggi$=Date$(SystemDate)
- DataDiOggi{}
-
- LunXFinestraZero=WLeftOff+LunghezzaDataDiOggi+18
- LunYFinestraZero=WTopOff+AltezzaFont*2+6
-
- Select Angolo$
- Case "TOP-LEFT"
- PosXFinestraZeroAngoloOpposto=PosXFinestraZero+(LunXFinestraZero-1)
- PosYFinestraZeroAngoloOpposto=PosYFinestraZero+(LunYFinestraZero-1)
- Case "TOP-RIGHT"
- PosXFinestraZero=PosXFinestraZeroAngoloOpposto
- PosXFinestraZero-(LunXFinestraZero-1)
- PosYFinestraZeroAngoloOpposto=PosYFinestraZero+(LunYFinestraZero-1)
- Case "BOTTOM-RIGHT"
- PosXFinestraZero=PosXFinestraZeroAngoloOpposto
- PosXFinestraZero-(LunXFinestraZero-1)
- PosYFinestraZero=PosYFinestraZeroAngoloOpposto
- PosYFinestraZero-(LunYFinestraZero-1)
- Case "BOTTOM-LEFT"
- PosXFinestraZeroAngoloOpposto=PosXFinestraZero+(LunXFinestraZero-1)
- PosYFinestraZero=PosYFinestraZeroAngoloOpposto
- PosYFinestraZero-(LunYFinestraZero-1)
- End Select
-
- CloseWindow 0
-
- AggiustaDimensioniFinestraZero{}
-
- ApriFinestraZero{}
-
- RaggioCerchio=AltezzaFont/2
-
- Repeat
- EventoFinestraZero.l=Event
-
- If EventoFinestraZero=#HaiCambiatoLeDimensioniDellaFinestra
- AltezzaFont=InnerHeight/2
- If AltezzaFont<4 Then AltezzaFont=4
- LunXFinestraZero=WindowWidth
- LunYFinestraZero=WindowHeight
- RaggioMassimoCerchio=AltezzaFont/2
- LoadFont 0,FontOrologio$,AltezzaFont
- WindowFont 0
- WCls
- EndIf
-
- If EventoFinestraZero=#HaiPremutoUnTastoDelTopo
- PrecedenteFontOrologio$=FontOrologio$
- PrecedenteAltezzaFont.b=AltezzaFont
- Impostazioni{}
- Use Window 0
- FinestraZeroAggiornata.b=False
-
- If FontOrologio$<>PrecedenteFontOrologio$ OR AltezzaFont<>PrecedenteAltezzaFont
- LoadFont 0,FontOrologio$,AltezzaFont
- WindowFont 0
- DataDiOggi{}
- LunXFinestraZero=WLeftOff+LunghezzaDataDiOggi+18
- LunYFinestraZero=WTopOff+AltezzaFont*2+6
- CloseWindow 0
- AggiustaDimensioniFinestraZero{}
- ApriFinestraZero{}
- FinestraZeroAggiornata=True
- EndIf
-
- If FinestraZeroAggiornata=False
- If PosXFinestraZero<>WindowX-WLeftOff OR PosYFinestraZero<>WindowY-WTopOff
- CloseWindow 0
- AggiustaDimensioniFinestraZero{}
- ApriFinestraZero{}
- EndIf
- EndIf
-
- RaggioMassimoCerchio=AltezzaFont/2
- RaggioCerchio=RaggioMassimoCerchio
- EndIf
-
- DataDiOggi$=Date$(SystemDate)
- DataDiOggi{}
- XData.w=(InnerWidth-LunghezzaDataDiOggi)/2
- WLocate XData,0:Print DataDiOggi$
- OraDiOggi$=Str$(Hours/10)
- OraDiOggi$+Str$(Hours MOD 10)+":"
- OraDiOggi$+Str$(Mins/10)
- OraDiOggi$+Str$(Mins MOD 10)+":"
- OraDiOggi$+Str$(Secs/10)
- OraDiOggi$+Str$(Secs MOD 10)
- LunghezzaOraDiOggi.w=TextLength_(RastPortFinestra,&OraDiOggi$,Len(OraDiOggi$))
- XOra.w=(InnerWidth-LunghezzaOraDiOggi)/2-1
- WLocate XOra,AltezzaFont:Print " ",OraDiOggi$," "
- If StatoAllarme=On
- If Left$(OraDiOggi$,5)=OraAllarme$ Then BeepScreen 0
- XAllarme=InnerWidth-1-AltezzaFont/2
- YAllarme=InnerHeight-1-AltezzaFont/2
- WCircle XAllarme,YAllarme,RaggioCerchio,1
- EndIf
- Delay_ 50
- If StatoAllarme=On
- WCircle XAllarme,YAllarme,RaggioCerchio,0
- RaggioCerchio+1
- If RaggioCerchio>RaggioMassimoCerchio Then RaggioCerchio=1
- EndIf
- Until EventoFinestraZero=#HaiChiusoLaFinestra
- End
-